package com.rzl.expense.expense.domain;

import java.math.BigDecimal;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.rzl.expense.common.annotation.Excel;
import com.rzl.expense.common.core.domain.BaseEntity;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

/**
 * 报账时关联资源对象 payment_resource_detail
 * 
 * @author expense
 * @date 2024-11-30
 */
public class PaymentResourceDetail extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 主键id */
    private Long id;

    /** 缴费单/核销单/预付费编码 */
    @Excel(name = "缴费单/核销单/预付费编码")
    private String paymentCode;

    /** 缴费期始 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "缴费期始", width = 30, dateFormat = "yyyy-MM-dd")
    private Date billamountStart;

    /** 缴费期终 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "缴费期终", width = 30, dateFormat = "yyyy-MM-dd")
    private Date billamountEnd;

    /** 缴费申请日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "缴费申请日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date billamountDate;

    /** 报账点Id */
    @Excel(name = "报账点Id")
    private String billaccountId;

    /** 报账点编码 */
    @Excel(name = "报账点编码")
    private String billaccountCode;

    /** 报账点类型 */
    @Excel(name = "报账点类型")
    private Integer billaccountType;

    /** 资源id */
    @Excel(name = "资源id")
    private String baseresourceId;

    /** 资源编码 */
    @Excel(name = "资源编码")
    private String baseresourceCode;

    /** 资源类型 */
    @Excel(name = "资源类型")
    private Long baseresourceType;

    /** 资源名称 */
    @Excel(name = "资源名称")
    private String baseresourceName;

    /** 资源cuid */
    @Excel(name = "资源cuid")
    private String baseresourceCuid;

    /** 缴费录入时资源状态 */
    @Excel(name = "缴费录入时资源状态")
    private Long baseresourceState;

    /** 主设备功率 */
    @Excel(name = "主设备功率")
    private BigDecimal equipmentPower;

    /** 空调总功率 */
    @Excel(name = "空调总功率")
    private BigDecimal airconditionerPower;

    /** 产权性质 */
    @Excel(name = "产权性质")
    private Long roomProperty;

    /** 产权单位 */
    @Excel(name = "产权单位")
    private String roomOwner;

    /** 机房类型 */
    @Excel(name = "机房类型")
    private Long baseresourceCategory;

    /** 铁塔站址编码 */
    @Excel(name = "铁塔站址编码")
    private String towerSiteCode;

    /** 业务类型 */
    @Excel(name = "业务类型")
    private Long serviceSiteType;

    /** 来源。1：塔维报账点缴费；2：网络电费报账点缴费；3：特殊缴费（普通）；4：特殊缴费（一站多录）； 5：普通核销；6：IC卡核销；7：先款后票核销； 8：普通预付费；9：IC卡预付费；10：先款后票预付费 */
    @Excel(name = "来源。1：塔维报账点缴费；2：网络电费报账点缴费；3：特殊缴费", readConverterExp = "普=通")
    private Integer dataFrom;

    /** 最后更新时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "最后更新时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date lastModifyTime;
    private String payableId;

    public void setId(Long id) 
    {
        this.id = id;
    }

    public Long getId() 
    {
        return id;
    }
    public void setPaymentCode(String paymentCode) 
    {
        this.paymentCode = paymentCode;
    }

    public String getPaymentCode() 
    {
        return paymentCode;
    }
    public void setBillamountStart(Date billamountStart) 
    {
        this.billamountStart = billamountStart;
    }

    public Date getBillamountStart() 
    {
        return billamountStart;
    }
    public void setBillamountEnd(Date billamountEnd) 
    {
        this.billamountEnd = billamountEnd;
    }

    public Date getBillamountEnd() 
    {
        return billamountEnd;
    }
    public void setBillamountDate(Date billamountDate) 
    {
        this.billamountDate = billamountDate;
    }

    public Date getBillamountDate() 
    {
        return billamountDate;
    }
    public void setBillaccountId(String billaccountId) 
    {
        this.billaccountId = billaccountId;
    }

    public String getBillaccountId() 
    {
        return billaccountId;
    }
    public void setBillaccountCode(String billaccountCode) 
    {
        this.billaccountCode = billaccountCode;
    }

    public String getBillaccountCode() 
    {
        return billaccountCode;
    }
    public void setBillaccountType(Integer billaccountType) 
    {
        this.billaccountType = billaccountType;
    }

    public Integer getBillaccountType() 
    {
        return billaccountType;
    }
    public void setBaseresourceId(String baseresourceId) 
    {
        this.baseresourceId = baseresourceId;
    }

    public String getBaseresourceId() 
    {
        return baseresourceId;
    }
    public void setBaseresourceCode(String baseresourceCode) 
    {
        this.baseresourceCode = baseresourceCode;
    }

    public String getBaseresourceCode() 
    {
        return baseresourceCode;
    }
    public void setBaseresourceType(Long baseresourceType) 
    {
        this.baseresourceType = baseresourceType;
    }

    public Long getBaseresourceType() 
    {
        return baseresourceType;
    }
    public void setBaseresourceName(String baseresourceName) 
    {
        this.baseresourceName = baseresourceName;
    }

    public String getBaseresourceName() 
    {
        return baseresourceName;
    }
    public void setBaseresourceCuid(String baseresourceCuid) 
    {
        this.baseresourceCuid = baseresourceCuid;
    }

    public String getBaseresourceCuid() 
    {
        return baseresourceCuid;
    }
    public void setBaseresourceState(Long baseresourceState) 
    {
        this.baseresourceState = baseresourceState;
    }

    public Long getBaseresourceState() 
    {
        return baseresourceState;
    }
    public void setEquipmentPower(BigDecimal equipmentPower) 
    {
        this.equipmentPower = equipmentPower;
    }

    public BigDecimal getEquipmentPower() 
    {
        return equipmentPower;
    }
    public void setAirconditionerPower(BigDecimal airconditionerPower) 
    {
        this.airconditionerPower = airconditionerPower;
    }

    public BigDecimal getAirconditionerPower() 
    {
        return airconditionerPower;
    }
    public void setRoomProperty(Long roomProperty) 
    {
        this.roomProperty = roomProperty;
    }

    public Long getRoomProperty() 
    {
        return roomProperty;
    }
    public void setRoomOwner(String roomOwner) 
    {
        this.roomOwner = roomOwner;
    }

    public String getRoomOwner() 
    {
        return roomOwner;
    }
    public void setBaseresourceCategory(Long baseresourceCategory) 
    {
        this.baseresourceCategory = baseresourceCategory;
    }

    public Long getBaseresourceCategory() 
    {
        return baseresourceCategory;
    }
    public void setTowerSiteCode(String towerSiteCode) 
    {
        this.towerSiteCode = towerSiteCode;
    }

    public String getTowerSiteCode() 
    {
        return towerSiteCode;
    }
    public void setServiceSiteType(Long serviceSiteType) 
    {
        this.serviceSiteType = serviceSiteType;
    }

    public Long getServiceSiteType() 
    {
        return serviceSiteType;
    }
    public void setDataFrom(Integer dataFrom) 
    {
        this.dataFrom = dataFrom;
    }

    public Integer getDataFrom() 
    {
        return dataFrom;
    }
    public void setLastModifyTime(Date lastModifyTime) 
    {
        this.lastModifyTime = lastModifyTime;
    }

    public Date getLastModifyTime() 
    {
        return lastModifyTime;
    }

    public String getPayableId() {
        return payableId;
    }

    public void setPayableId(String payableId) {
        this.payableId = payableId;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("paymentCode", getPaymentCode())
            .append("billamountStart", getBillamountStart())
            .append("billamountEnd", getBillamountEnd())
            .append("billamountDate", getBillamountDate())
            .append("billaccountId", getBillaccountId())
            .append("billaccountCode", getBillaccountCode())
            .append("billaccountType", getBillaccountType())
            .append("baseresourceId", getBaseresourceId())
            .append("baseresourceCode", getBaseresourceCode())
            .append("baseresourceType", getBaseresourceType())
            .append("baseresourceName", getBaseresourceName())
            .append("baseresourceCuid", getBaseresourceCuid())
            .append("baseresourceState", getBaseresourceState())
            .append("equipmentPower", getEquipmentPower())
            .append("airconditionerPower", getAirconditionerPower())
            .append("roomProperty", getRoomProperty())
            .append("roomOwner", getRoomOwner())
            .append("baseresourceCategory", getBaseresourceCategory())
            .append("towerSiteCode", getTowerSiteCode())
            .append("serviceSiteType", getServiceSiteType())
            .append("dataFrom", getDataFrom())
            .append("createTime", getCreateTime())
            .append("updateTime", getUpdateTime())
            .append("lastModifyTime", getLastModifyTime())
            .toString();
    }
}
